package com.zwh.se.constant_variable_operator;

/**
 * 常量，指的程序运行过程中，值不会发生改变的量，也就是固定值。
 * 此处所展示的常量学名称之为"字面常量",简称"字面量"。
 *
 * @author yexi
 */
public class Constant {
    public static void main(String[] args) {

        System.out.println("----------------整数常量----------------");
        //默认情况下赋值就是十进制的情况
        System.out.println("十进制:" + 20);
        //前面加上0b或者0B,这个值就是二进制的
        System.out.println("二进制:" + 0B00010100);
        //前面加上0，这个值就是八进制的
        System.out.println("八进制:" + 024);
        //前面加上0x或者0X，这个值就是十六进制的(x的大小写没有区别)
        System.out.println("十六进制:" + 0x14);
        System.out.println("十六进制:" + 0X15);
        //整数常量可以带一个L或l后缀,表示是一个长整数(long)(L的大小写没有区别,一般推荐大写,比较好认)
        System.out.println("长整数:" + 45L);

        //使用二进制表示int类型的 10   0B表示二进制    32位二进制  01
        System.out.println(0B00000000_00000000_00000000_00001010);
        //使用八进制表示int类型的10    0开头表示八进制   01234567
        System.out.println(012);
        //使用十六进制表示int类型的 10   0x开头表示十六进制   0123456789 ABCDEF
        System.out.println(0xA);

        //可以使用+表示正数，-表示负数，如果不写出来默认就是正数
        System.out.println(+5);
        System.out.println(-5);

        System.out.println("----------------小数常量(实型常量),又称实数或浮点数----------------");
        System.out.println(3.14);
        System.out.println(0.314);
        //也可以使用指数形式(科学计数法)来表示浮点常量(E的大小写没有区分)。
        System.out.println(314e2);//314*10^2-->31400.0
        System.out.println(314E-2);//314*10^(-2)-->3.14
        //当使用小数形式表示时,你可以省略掉小数部分或者整数部分,此时将默认以0作为补充
        System.out.println(.14);
        System.out.println(14.);

        System.out.println("----------------逻辑常量----------------");
        //特殊的常量,学名叫做 boolean 布尔类型,只有true和false两个值,分别表示对与错
        System.out.println(true);
        System.out.println(false);
        // 通过==比较的结果就是以true和false来存储的
        System.out.println(0xFFFFFFFF == 0B1111_1111_1111_1111_1111_1111_1111_1111);
        System.out.println(0xF == 0B1111);

        System.out.println("----------------字符常量----------------");
        System.out.println('字');

        System.out.println("----------------字符串常量----------------");
        //编译错误了,这是由于''只能表示一个字符,若想要表示多个字符必须得使用""
        //System.out.println('字符');
        System.out.println("字符串");
    }
}
